Майнор "Интеллектуальный анализ данных"

Курс "Введение в анализ данных"

Лабораторная работа №3. Supervised Learning

Данные

В рамках данной лабораторной работы вам предлагается проанализировать набор данных о студентах двух школ в Португалии.
В файле students_data.csv представлена информация о студентах, посещающих два курса - математику (Math) и поргутальский язык (Por). Некоторые студенты представлены в обоих курсах, некоторые - только в одном. Для каждого студента известны три оценки по курсу: оценка за первое полугодие (G1), оценка за второе полугодие (G2) и итоговая оценка за год (G3).

Признаки

Данные представлены признаками различных типов: числовыми, категориальными, упорядоченными категориальными.

Описание признаков:

Часть 1. Предобработка данных

Tip: Используйте свои наработки из Лабораторной работы №1.

Сделаем дроп id он в данной ситуации нам не нужен.Чекним столбцы.Ошибки:sex- m,Pstatus - t,Medu - о,Fedu - о,Mjob - at-home,guardian - futher, famrel,Dalc,Walc,cheating,romantic - nan. Делитним cheating(очень много пропусков, конечно неочень корректно, но ладно) и исправим ошибки в остальных.

G3 очень слабо зависит от признаков: Pstatus, famsup,sex, activities, nursery - по модулю < 0.05. Получается они скорее всего не оказывают значительного влияния на итоговую оценку, не вкючим их в модели. Кроме них еще слабо на G3 влияют: freetime, famsize, famrel, goout, health, schoolsup,paid.

Количество ответов other Fjob Mjob слишком много, что не дает информации. Их можно тожн убрать из модели.

Убираем колонку cheating(из за огромного колличества пропусков)

Кодирование двоичных функций

Разделим выборки

Часть 2. Регрессия

Линейная регрессия

Решение с признаком G1

Линейная регрессия

Полиномиальная регрессия

KNN

Гребневая регрессия

Lasso

Random Forest

Деревья решений

Лучше всего с данной задачейй справляется регрессия(результат по R2: 0.64). Лучшие результаты достигаются в Lasso и Гребневой регрессии, но данный результат все равно недостаточно хороший. Полиномиальная регресия с повышением степени полинома начинает подстраиваться под данные.

Решение задачи регрессии без включения признака G1

Отдельное рассмотрение оценок по португальскому и математике

Линейная регрессия

Гребневая регрессия

Lasso

Дерево решений

KNeighborsRegressor

Без признака G1 результаты вышли ужасные: очень низкая точность, в некоторых моделях предсказание получается хуже константного(коэффициент детерминации отрицательный).

Часть 3. Бинарная классификация

Решите задачу бинарной классификации: постройте модель, предсказывающую, сдаст студент предмет (G3 >= 8) или не сдаст (G3 < 8).
При решении задачи нельзя использовать признаки G1 и G2.

Задание 1

Описание работы алгоритма дерева:

Правило1 - деление по наличию предыдущих провалов экзаменов Правило2 - у тех, кто проваливал - по предмету ; для не проваливавших - по пропускам Правило3: Провалы <1 - изучают математику - по дозе алкоголя Провалы <1 - изучают португальский - по пропускам Провалов >0 - пропуски есть - достигли листа Провалов >0 - прпусков нет - по образованию матери

Задание 2

На кросс-валидации (5-fold из 2 повторений) оцените, как меняется качество модели Random Forest с ростом числа деревьев (при дефолтных значениях остальных параметров). Провизуализируйте результаты. Сколько деревьев достаточно в данном случае и почему?
NB: В сравнение включите конфигурацию, аналогичную простому дереву решений.

Видно, что cvs.mean() растет с увеличением деревьем.При этом при 50 и 100 деревьев результаты праткически одинаковые, поэтому использовать больше 50 неоптимально.

Задание 3

Посчитаем f1 для всего ансамбля

Подсчитаем и провизуализируем f1 для каждого дерева отдельно(всего 5).Различие на 0,001.

Метрика F1 score (показывает какую часть отрицательных случаев модель правильно классифицирует) показывает неплохие результаты = 0.95. Как видно на графике распределния важности признаков, наибольшую значимость играют failures.

Задание 4

Подберем гипер параметры

Сравним данные двух замеров, видно,что площадь под графиком логистическое регрессии больше.

Задание 5

С увеличением количества деревьев качество растет. Если для одного дерева результат на Test: 0.91, то для 10 Test: 0.950

Часть 4. Многоклассовая классификация

Логистическая регрессия

Видно, что предсказание очень низкое. Подберем параметры на GridSearchCV

По графику roc кривой видно, что модель хорошо предсказывает 3 (0,73), но не очень хорошо нули.

KNN

В целом выводы по roc кривой низкие, очень близки к рандому.

Дерево решений

Random Forest

Вывод: в многоклассовой классификации модель, построенная с помощью дерева решений, проявила себя наилучшим образом. В бинарной классификации высокую точность можно объяснить преобладающим количеством определенной оценки и переобучением модели.

GradientBoostingClassifier